import Request from 'luch-request'
import {
	baseurl
} from '@/config.js'

const http = new Request({
	baseURL: baseurl,
	header: {
		'content-type': 'application/x-www-form-urlencoded',
	}
});

//请求拦截
http.interceptors.request.use((config) => { // 可使用async await 做异步操作
  config.header = {
    ...config.header,
    Authorization:uni.getStorageSync('token')
  }
  // 演示custom 用处
  // if (config.custom.auth) {
  //   config.header.token = 'token'
  // }
  // if (config.custom.loading) {
  //  uni.showLoading()
  // }
  /**
   /* 演示
   if (!token) { // 如果token不存在，return Promise.reject(config) 会取消本次请求
      return Promise.reject(config)
    }
   **/
  return config
}, config => { // 可使用async await 做异步操作
  return Promise.reject(config)
})

//响应拦截
http.interceptors.response.use((response) => {
	if (response.data.code === 200) {
		return response.data
	} else if (response.data.code === 401) {
		uni.showToast({
			title: response.data.message,
			icon: "none",
			success() {
			    let time = setTimeout(function(){
			    	uni.reLaunch({
			    		url:'/pages/login/login',
						success() {
							clearTimeout(time)
						}
			    	})
			    },1000)
				
			}
		})
		return Promise.reject(response.data)
	} else {
		uni.showToast({
			title: '操作失败',
			icon: "error"
		})
		return Promise.reject(response.data)
	}
}, (response) => {
	return Promise.reject(response)
})

export default http
